
package accesoarchivos;

import constantes.Constantes;
import entidades.Empleado;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;


public class EmpleadoArchivo {

    public void EscribirArchivoEmpleado(ArrayList<Empleado> arrayList) {

        FileWriter fichero = null;
        PrintWriter pw = null;
        try {
            fichero = new FileWriter(Constantes.archivoEmpleados);
            pw = new PrintWriter(fichero);

            for (Empleado empleado : arrayList) {
                String linea = empleado.getCodigo() + Constantes.stringToken +
                        empleado.getNombre() + Constantes.stringToken +
                        empleado.getApellidoPaterno() + Constantes.stringToken +
                        empleado.getApellidoMaterno() + Constantes.stringToken +
                        empleado.getDni() + Constantes.stringToken +
                        empleado.getTelefono() + Constantes.stringToken +
                        empleado.getDireccion() + Constantes.stringToken +
                        empleado.getEmail() + Constantes.stringToken +
                        empleado.getFechaNacimiento() + Constantes.stringToken +
                        empleado.getLogin() + Constantes.stringToken +
                        empleado.getClaveAccesoSistema() + Constantes.stringToken +
                        empleado.getPerfilEmpleado() + Constantes.stringToken +
                        empleado.getEstadoEmpleado();

                pw.println(linea);
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {

            if (null != fichero) {
                try {
                    fichero.close();
                } catch (IOException ex) {
                }
            }
            try {
            } catch (Exception e2) {
            }
        }

    }

    public ArrayList<Empleado> LeerArchivoEmpleado() {

        Empleado empleado = null;
        ArrayList<Empleado> arrayListEmpleado = null;
        try {

            arrayListEmpleado = new ArrayList<Empleado>();

            FileReader fr = new FileReader(Constantes.archivoEmpleados);

            BufferedReader br = new BufferedReader(fr);

            String linea = "";

            while ((linea = br.readLine()) != null) {

                empleado = new Empleado();

                StringTokenizer st;
                st = new StringTokenizer(linea, Constantes.stringToken);
                empleado.setCodigo(st.nextToken().trim());
                empleado.setNombre(st.nextToken().trim());
                empleado.setApellidoPaterno(st.nextToken().trim());
                empleado.setApellidoMaterno(st.nextToken().trim());
                empleado.setDni(st.nextToken().trim());
                empleado.setTelefono(st.nextToken().trim());
                empleado.setDireccion(st.nextToken().trim());
                empleado.setEmail(st.nextToken().trim());
                empleado.setFechaNacimiento(st.nextToken().trim());
                empleado.setLogin(st.nextToken().trim());
                empleado.setClaveAccesoSistema(st.nextToken().trim());
                empleado.setPerfilEmpleado(st.nextToken().trim());
                empleado.setEstadoEmpleado(st.nextToken().trim());
                arrayListEmpleado.add(empleado);
                empleado = null;
            }

            br.close();
        } catch (Exception ex) {
        }

        return arrayListEmpleado;
    }   
}
